package com.szy.douyou_article.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.szy.douyou_article.dao.Comment;
import com.szy.douyou_article.dao.Users;
import com.szy.douyou_article.dao.req.CommentReq;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author sunziyan
 * @date 2022/4/11
 */
@Mapper
public interface CommentMapper extends BaseMapper<Comment> {

    /**
     * 获取该文章下 一个层级的评论
     * @param article_id
     * @param comment_father_id
     * @return
     */
    List<Comment> getCommentByArticleId(@Param("articleId") Long articleId,@Param("commentFatherId") Long commentFatherId);

    /**
     * 获取评论用户数据
     * @param comment_id
     * @return
     */
    Users getFatherCommentUserMsg(@Param("commentId") Long commentId);

    /**
     * 用户添加评论时+1
     * @param articleId
     * @return
     */
    Integer updateArticleCommentNumbers(Long articleId);

    /**
     * 获取所有评论
     * @param page
     * @param commentReq
     * @return
     */
    Page<Comment> getAllComment(Page<Comment> page, @Param("req")CommentReq commentReq);

    /**
     * 把所有子的父id换成自己的父id
     * @param comment
     * @return
     */
    Integer updateCommentFatherIdWhenDelete(@Param("comment")Comment comment);

}
